Control of network-connected devices in accordance with group preferences

ABSTRACT

A processing system including at least one processor may detect the presence of at least two users in a zone containing a network-connected device, obtain preferences and tolerance ranges of the at least two users with respect to the network-connected device, select a setting for the network-connected device in accordance with the preferences and tolerance ranges of the at least two users, and apply the setting to the network-connected device. The processing system may further detect a change of the setting, and adjust at least one of the preferences and tolerance ranges of the at least two users in response to the change of the setting.

The present disclosure relates to network-connected devices (e.g.,Internet of Things (IoT) devices), and more particularly to devices,non-transitory computer-readable media, and methods for applying asetting to a network-connected device in accordance with preferences andtolerance ranges of at least two users.

BACKGROUND

Some devices may enable users to create and switch between uniqueprofiles with specific preferences, e.g., computer desktop settings orother user account settings. However, these types of user preferencesmay be carefully self-curated and the value of these individualizedprofiles may fall apart when multiple users are in play.

SUMMARY

Devices, computer-readable media, and methods for applying a setting toa network-connected device in accordance with preferences and toleranceranges of at least two users are disclosed. For example, a processingsystem including at least one processor may detect a presence of atleast two users in a zone containing a network-connected device, obtainpreferences and tolerance ranges of the at least two users with respectto the network-connected device, select a setting for thenetwork-connected device in accordance with the preferences andtolerance ranges of the at least two users, and apply the setting to thenetwork-connected device. The processing system may further detect achange of the setting, and adjust at least one of the preferences andtolerance ranges of the at least two users in response to the change ofthe setting.

BRIEF DESCRIPTION OF THE DRAWINGS

The teaching of the present disclosure can be readily understood byconsidering the following detailed description in conjunction with theaccompanying drawings, in which:

FIG. 1 illustrates an example network or system related to the presentdisclosure;

FIG. 2 illustrates a flowchart of an example method for applying asetting to a network-connected device in accordance with preferences andtolerance ranges of at least two users; and

FIG. 3 illustrates an example high-level block diagram of a computerspecifically programmed to perform the steps, functions, blocks, and/oroperations described herein.

To facilitate understanding, identical reference numerals have beenused, where possible, to designate identical elements that are common tothe figures.

DETAILED DESCRIPTION

Devices, computer-readable media and methods for applying a setting to anetwork-connected device in accordance with preferences and toleranceranges of at least two users are disclosed. For instance, the presentdisclosure tailors digital/technological environments to users' needsand desires for particular activities with respect tonetwork-connected/Internet of Things (IoT) devices via machine learning(ML). In one example, devices and sensors are deployed to blend multipleusers' learned unique personal preferences (volume, brightness, content,etc.) and their ambient environments (light levels, temperature, noise,etc.) to optimize the user and multi-user experiences when engaging invarious activities such as watching television, playing board games,eating dinner, and so forth. For a gathering of multiple guests, e.g.,in a media room of a user's home, it may be possible for the user toconstruct a “general audience” or “default group” profile for when theuser intends to entertain multiple other users. However, this may notprovide the most optimal viewing experience for that particular group ofindividuals. Taking into account their preferences and the ambientenvironment, it is merely a bare minimum standard.

The present disclosure automatically detects and learns specific usersensitivities to controllable (digital/smart) environmental factors andthen employs the preferences and tolerances of various users to proposeand implement a set of optimal settings for network-connected devices inview of such information. In one example, the present disclosureleverages machine learning in a network of IoT devices while adhering toaccepted scientific standards for optimal environments for particularactivities (e.g., light temperatures that are objectively best foraverage human eyes for reading, versus discussion, versus televisionviewing, and so forth).

In one example, the present disclosure comprises a network/cloud-basedprocessing system that observes and models each user individually withreinforcement learning, e.g., a machine learning model (MLM). In oneexample, user profiles are stored/encoded in a hierarchical temporalmemory (HTM) and the processing system may “learn” each user's specificpreferences and tolerance ranges for different settings of controllable,network-connected devices. For instance, the processing system mayobserve users manually adjusting light settings, temperature settings,volume settings, and so on with respect to different rooms or otherlocations, different activities, different times of day, differentseasons, etc. The processing system may then identify a preferred devicesetting and calculate a tolerance range for each available devicesetting with respect to various factors, such as other availabledevices, device settings, activities, locations, rooms, and/or timeaspects (these may be considered the features of the model). Toillustrate, a “state” may comprise any combination of available devices,device settings, activity, location, room, and/or time aspects, and themachine learning model attempts to predict the best policy for eachstate for the user. A tolerance range measures what may not be ideal fora user but which may still acceptable to the user. Notably, some usersmay be more flexible than others. Easygoing users may have a widertolerance range than those who are finicky (e.g., a user who may adjustthe temperature of a room by one degree, for instance, in order to becomfortable).

Once individual user models are trained, the processing system mayself-test for accuracy. For example, the processing system may observeand detect whether the predicted device/setting adjustments for activityX hold true when the user comes into a room and engages in activity X.Thus, the present disclosure predicts a user's preferences, auto-adjustsone or more device settings to account for the preferences, and refinesand updates the user's predicted preferences as the processing systemobserves the user's reactions to the environment having device settingspredicted to be optimal for the given available device(s), settings,activity, location, room, and/or time aspects (the given “state”). Theuser's reactions may include manually changing one or more devicesettings (e.g., changing a temperature, a light level, a volume, abrightness, a type of content, station, channel, or the like, and soforth), or may include a biometric reaction, e.g., a mood detected viaone or more biometric signals or inputs, such as facial imagery, heartrate data, and so on. For example, manually changing a temperaturesetting may be indicative that the predicted temperature setting was notcorrect for this particular user. Similarly, the user making facesindicative of discomfort or unhappiness may also be indicative that oneor more of the device settings is not ideal for this user.

Next, with accurate models of many individuals, the present disclosuremay sense when a group of two or more users is present in a “zone”(e.g., a room or other area where users may be considered proximate andwhere the environment, and the users' experiences of the environment maybe influenced by the control of one or more settings of one or morenetwork-connected devices in the zone). The presence of the users may bedetected via mobile device identification, e.g., smartphones, radiofrequency identification (RFID) tags, or the like, facial imagerecognition, events/activities scheduled in a digital calendar orcalendars of one or several users, and so on. The present disclosure maythen combine the users' unique preferences, while adhering to mandatedor generally accepted safety ranges, and/or generally acceptedstatistics or scientific facts regarding human preferences andtolerances, to create an “optimal” experience for the particular groupof users.

In one example, the present disclosure may skew an “average” of theusers' preferred settings in favor of those users who are more finickyover those who are more easygoing in order to produce an environmentwith as few complaints as possible. In other words, a setting may becalculated from a weighted average, with greater weight being placedupon the preferences and tolerance ranges of users with narrowertolerance ranges, and lesser weight being placed upon the preferencesand tolerance ranges of users with broader tolerance ranges. Inaddition, in one example, the group itself, identified as a uniquecombination of modeled individuals, may also be quantified via a machinelearning model in a similar manner to the individual users. In otherwords, the present disclosure may maintain a group model, or groupprofile.

It should be noted that a group composed of user A, B, and C doingactivity X may have group preferences and/or tolerances ranges that areentirely different than the average, or a weighted average of thepreferences and/or tolerance ranges of users A, B, and C doing activityX individually, e.g., in each of their respective homes. For instance,the group model may account for a current state, e.g., with availabledevice(s), settings, activity, location, room, and/or time aspects asfeatures. Following a similar methodology to the individual model, thegroup model may be trained, tested, and re-tuned through multiple cyclesof deploying device settings, observing user reactions, and adjustingthe predicted optimal device settings based upon the users' reactions.

Another way to describe the multi-user case is: a state may comprise anycombination of a set of individual users, device(s), device setting(s),activity, room, location, and time factors, and the group model attemptsto predict the best policy (settings of one or more controllablenetwork-connected devices) for each state. In one example, the groupmodel may be similarly stored/encoded in a hierarchical temporal memory(HTM), and the preferences and/or tolerance ranges of the group learnedand refined over time and over multiple observations of the users'behaviors. In addition, in one example, the group model and theindividual models may be stored/encoded in a same hierarchical temporalmemory (HTM) structure. For instance, the models for individual usersmay comprise lower layers of the HTM structure, while the group model(and various other group models for different groups/combinations ofusers) may comprise higher layer(s) of the HTM structure. The outputs ofindividual user models may comprise inputs to the group models. Inaddition, the other factors of a “state” which comprise inputs to theindividual models may also comprise direct inputs to the layerscomprising the group models (e.g., available device(s), settings,activity, location, room, and/or time aspects).

It should be noted that the present disclosure may learn both thegroup's preferences as well as the individuals' preferences. Forexample, the fact that a user does not adjust a device setting mayindicate that the current setting is within a user's tolerance range.However, the user's tolerance range may be greater when in a group, orwhen in a particular group, compared to when the user is alone. Inaddition, users may be more or less flexible when in certain groups,such that user A may be flexible when in a first group (e.g., a workgroup) but may be more picky when in a second group (e.g., a familygroup). Thus, each group model may result in different group preferencesin accordance with the individual group constituents as well as theparticular group dynamics, the type of activity associated with thegroup, and so forth.

Although user and group profiles/models may be stored/encoded andlearned via a hierarchical temporal memory (HTM) structure, in other,further, and different examples various types of machine learning (ML)models may be employed. As referred to herein, a machine learning model(MLM) (or machine learning-based model) may comprise a machine learningalgorithm (MLA) that has been “trained” or configured in accordance withinput data (e.g., training data) to perform a particular service, e.g.,to detect a type of object, such as a face, in images and/or videocontent, to detect speech or other sounds in audio content, to output aset of one or more device settings, given an input “state,” and soforth. Examples of the present disclosure are not limited to anyparticular type of MLA/model, but are broadly applicable to varioustypes of MLAs/models that utilize training data, such as deep learningalgorithms/models, such as deep neural networks (DNNs), decision treealgorithms/models, and so forth, and which may accept “state”information as inputs and output a set of one or more network-connecteddevice settings (e.g., in accordance with individual user and/or grouppreferences and tolerance ranges).

In addition, an individual may always retain the rights to his or herprofile. In other words, even though system learns, the user may forcethe system to honor preferences as input by user. Similarly, a user maycause his or her profile to be reset, deleted, or prevented fromevolving through learning. In other words, the profile can be forced toremain as manually configured by the user. In one example, a user canopt out of data collection for learning of preferences and toleranceranges but may still broadcast preferences and tolerance ranges forimplementation. These and other aspects of the present disclosure arediscussed in greater detail below in connection with the examples ofFIGS. 1-3.

To aid in understanding the present disclosure, FIG. 1 illustrates anexample system 100, related to the present disclosure. As shown in FIG.1, the system 100 connects mobile devices 170A-170C, and home networkdevices such as home gateway 161, set-top boxes (STBs) 162A, and 162B,television (TV) 163A and TV 163B, home phone 164, router 165, personalcomputer (PC) 166, lighting system 167, thermostat 168, coffee maker169, and so forth, with one another and with various other devices via atelecommunication network 110, a wireless access network 150 (e.g., acellular network), and Internet 120.

In one embodiment, each of mobile devices 170A-170C may comprise anysubscriber/customer endpoint device configured for wirelesscommunication such as a laptop computer, a Wi-Fi device, a PersonalDigital Assistant (PDA), a mobile phone, a smartphone, an email device,a computing tablet, a messaging device, and the like. In one embodiment,any one or more of mobile devices 170A-170C may have both cellular andnon-cellular access capabilities and may further have wiredcommunication and networking capabilities. In one example, mobiledevices 170A-170C may be used by users 171A-171C, who may be associatedwith one another as family members, e.g., parents and children, asfriends, as co-workers, as caregiver and charge(s), and so forth. In oneexample, each of the users 171A-171C may further have at least onerespective biometric sensor 172A-172C, e.g., a wearable device, that maybe in communication with one of the mobile devices 170A-170C, e.g., viaa wired or a wireless connection, such as a via an infrared transmitteror transceiver, a transceiver for Institute for Electrical andElectronics Engineers (IEEE) 802.11 based communications (e.g.,“Wi-Fi”), IEEE 802.15 based communications (e.g., “Bluetooth”, “ZigBee”,etc.), and so forth. Alternatively, or in addition, any one or more ofbiometric sensors 172A-172C may connect to various networksindependently of a respective mobile device. The biometric sensors172A-172C may include: heart rate monitors, electrocardiogram devices,acoustic sensors, sensors for measuring users' breathing rates, galvanicskin response (GSR) devices, and so forth.

In one example, the biometric sensors 172A-172C may measure or capturedata regarding various physical parameters of a user (broadly,“biometric data”) from which a mood, e.g., a mental or emotional state,may be calculated. For instance, the biometric sensors 172A-172C mayrecord users' heart rates, breathing rates, skin conductance and/orsweat/skin moisture levels, temperature, blood pressure, voice pitch andtone, body movements, e.g., eye movements, hand movements, and so forth.In another example, the biometric sensors 172A-172C may measure brainactivity, e.g., electrical activity, optical activity, chemicalactivity, etc., depending upon the type of biometric sensor.

As illustrated in FIG. 1, users 171A-171C appear to have one biometricsensor apiece. However, it should be understood that users 171A-171C mayeach have any number of different biometric sensors. In one example,data gathered by biometric sensors 172A-172C may be used to calculate ordetermine the users' moods. In addition, relevant biometric data forusers 171A-171C may also be gathered from other devices, such as PC 166,TV 163A, TV 163B, mobile devices 170A-170C, and so forth, as describedin greater detail below. For example, the TVs 163A may have an attachedor integrated camera for obtaining facial image data of a viewer, and/oran attached or integrated microphone for recording voice(s) withinrecording range of the microphone. PC 166, TV 163B, and mobile devices170A-170C may be similarly equipped. Thus, in one example, PC 166, TV163A, TV 163B, or one of mobile devices 170A-170C may capture video orstill images of users' faces. Similarly, PC 166, TV 163A, TV 163B, orone of mobile devices 170A-170C may record audio data of users' voicesfrom which pitch, tone, and other parameters may be calculated.Alternatively, or in addition, words and phrases in the audio data mayalso be determined, e.g., using speech recognition techniques. Inanother example, PC 166, TV 163A, TV 163B, or one of mobile devices170A-170C may measure postures of users 171A-171C from captured imagesand/or video. For instance, a slouching posture may be associated withdepression or sadness, while sitting or standing straight is morecorrelated with happiness or contentment. In still another example, akeyboard of PC 166 may record forces of keystrokes, mobile devices170A-170C may record forces of presses on touchscreens of the respectivedevices, and so forth.

In one example, telecommunication network 110 may combine core networkcomponents of a cellular network with components of a triple playservice network; where triple-play services include telephone services,Internet services, and television services to subscribers. For example,telecommunication network 110 may functionally comprise a fixed mobileconvergence (FMC) network, e.g., an IP Multimedia Subsystem (IMS)network. In addition, telecommunication network 110 may functionallycomprise a telephony network, e.g., an Internet Protocol/Multi-ProtocolLabel Switching (IP/MPLS) backbone network utilizing Session InitiationProtocol (SIP) for circuit-switched and Voice over Internet Protocol(VoIP) telephony services. Telecommunication network 110 may alsofurther comprise a broadcast television network, e.g., a traditionalcable provider network or an Internet Protocol Television (IPTV)network, as well as an Internet Service Provider (ISP) network. Forexample, with respect to television service provider functions,application servers 114 may represent one or more television servers forthe delivery of television content, e.g., a broadcast server, a cablehead-end, and so forth. For instance, telecommunication network 110 maycomprise a video super hub office, a video hub office and/or a serviceoffice/central office. With respect to cellular core network functions,application servers 114 may represent a Home Subscriber Server/HomeLocation Register (HSS/HLR) for tracking cellular subscriber devicelocation and other functions, a serving gateway (SGW), a packet datanetwork gateway (PGW or PDN GW), a mobility management entity (MME), andso forth. Application servers 114 may further represent an IMS mediaserver (MS) for handling and terminating media streams to provideservices such as announcements, bridges, and Interactive Voice Response(IVR) messages for VoIP and cellular service applications.

As shown in FIG. 1, telecommunication network 110 may also include aserver 115. In one example, the server 115 may comprise a computingsystem, such as computing system 300 depicted in FIG. 3, and may beconfigured to provide one or more functions for applying a setting to anetwork-connected device in accordance with preferences and toleranceranges of at least two users, as described herein. For example, server115 may be configured to perform one or more steps, functions, oroperations in connection with the example method 200 described below. Itshould be noted that as used herein, the terms “configure,” and“reconfigure” may refer to programming or loading a processing systemwith computer-readable/computer-executable instructions, code, and/orprograms, e.g., in a distributed or non-distributed memory, which whenexecuted by a processor, or processors, of the processing system withina same device or within distributed devices, may cause the processingsystem to perform various functions. Such terms may also encompassproviding variables, data values, tables, objects, or other datastructures or the like which may cause a processing system executingcomputer-readable instructions, code, and/or programs to functiondifferently depending upon the values of the variables or other datastructures that are provided. As referred to herein a “processingsystem” may comprise a computing device including one or moreprocessors, or cores (e.g., as illustrated in FIG. 3 and discussedbelow) or multiple computing devices collectively configured to performvarious steps, functions, and/or operations in accordance with thepresent disclosure. For ease of illustration, various additionalelements of telecommunication network 110 are omitted from FIG. 1.

In one example, wireless access network 150 comprises a radio accessnetwork implementing such technologies as: global system for mobilecommunication (GSM), e.g., a base station subsystem (BSS), or IS-95, auniversal mobile telecommunications system (UMTS) network employingwideband code division multiple access (WCDMA), or a CDMA3000 network,among others. In other words, wireless access network 150 may comprisean access network in accordance with any “second generation” (2G),“third generation” (3G), “fourth generation” (4G), Long Term Evolution(LTE), “fifth generation” (5G), or any other yet to be developed futurewireless/cellular network technology. While the present disclosure isnot limited to any particular type of wireless access network, in theillustrative embodiment, wireless access network 150 is shown as a UMTSterrestrial radio access network (UTRAN) subsystem. Thus, base stations152 and 153 may each comprise a Node B or evolved Node B (eNodeB). Asillustrated in FIG. 1, mobile devices 170A-170C may be in communicationwith one or both of base stations 152 and 153, which provideconnectivity between the mobile devices 170A-170C and other endpointdevices within the system 100, various network-based devices, such asserver 115, application servers 114, and so forth. In addition, in oneexample biometric sensors 172A-172C may also be in communication withone or both of base stations 152 and 153, e.g., where biometric sensors172A-172C are also equipped for cellular communication. In one example,wireless access network 150 may be operated by the same or a differentservice provider that is operating telecommunication network 110.

In one example, home network 160 may include a home gateway 161, whichreceives data/communications associated with different types of media,e.g., television, phone, and Internet, and separates thesecommunications for the appropriate devices. In one example, televisiondata is forwarded to set-top boxes (STBs)/digital video recorders (DVRs)162A and 162B to be decoded, recorded, and/or forwarded to television(TV) 163A and TV 163B for presentation. Similarly, telephone data issent to and received from home phone 164; Internet communications aresent to and received from router 165, which may be capable of both wiredand/or wireless communication. In turn, router 165 receives data fromand sends data to the appropriate devices, e.g., personal computer (PC)166, mobile devices 170A-170C, lighting system 167, thermostat 168,coffee maker 169, and so forth. In one example, router 165 may furthercommunicate with TV (broadly a display) 163A and/or 163B, e.g., whereone or both of the televisions is a smart TV. In one example, router 165may comprise a wired Ethernet router and/or an IEEE 802.11 (Wi-Fi)router, and may communicate with respective devices in home network 160via wired and/or wireless connections. In this regard, it should benoted that lighting system 167, thermostat 168, and coffee maker 169 maycomprise “smart” appliances (e.g., network-connected devices/Internet ofThings (IoT) devices), with wired and/or wirelessnetworking/communication capability. Thus, such appliances may beremotely programmed or configured, and may communicate operational datato remote devices via one or more networks or network links. Similarly,TVs 163A and 163B, STBs/DVRs 162A and 162B, and/or home phone 164 mayalso comprise smart appliances with wired and/or wirelessnetworking/communication capability, which may be remotely programmed orconfigured, and which may communicate operational data to remote devicesvia one or more networks or network links. For instance, each of thesedevices may include a transceiver for IEEE 802.11-based communications,for IEEE 802.15-based communications, for wired communications, e.g.,for wired Ethernet, and so forth. In this regard, it should be notedthat in one example, STBs/DVRs 162A and 162B may also representstreaming media players.

In one example, home network 160 may also include a device controller190. In one example, the device controller 190 may comprise a computingsystem, such as computing system 300 depicted in FIG. 3, and may beconfigured to provide one or more functions for applying a setting to anetwork-connected device in accordance with preferences and toleranceranges of at least two users. For example, device controller 190 may beconfigured to perform one or more steps, functions, or operations inconnection with the example method 200 described below. As illustratedin FIG. 1, device controller 190 may be in communication with variousnetwork-connected devices/appliances within home network 160. In thisregard, device controller 190 may also include a transceiver for IEEE802.11-based communications, for IEEE 802.15-based communications, forwired communications, e.g., for wired Ethernet, and so forth. It shouldbe noted that as described herein, functions of device controller 190may similarly be performed by server 115 in telecommunication network110. However, for illustrative purposes, examples are describedprimarily in connection with device controller 190.

For instance, device controller 190 may detect the presence of at leasttwo users (e.g., any two or more of users 170A-170C) in a zone (e.g., ina room of a home of home network 160) containing at least onenetwork-connected device (e.g., at least one of: lighting system 167,thermostat 168, coffee maker 169, TVs 163A and 163B, STBs/DVRs 162A and162B, or home phone 164), and obtain preferences and tolerance ranges ofthe at least two users with respect to the at least onenetwork-connected device. In one example, the preferences and toleranceranges may be obtained from the mobile devices 170A-170C. For instance,the mobile devices 170A-170C may broadcast the preferences and toleranceranges of users 171A-171C respectively, e.g., via IEEE 802.11-basedbroadcast, for IEEE 802.15-based broadcast, or the like, which may bereceived by device controller 190. In another example, a network-basedprocessing system, e.g., server 115 may store and/or transmit thepreferences and tolerance ranges of users 171A-171C. For instance,device controller 190 may detect the presence of two or more of users171A-171C, e.g., by detecting mobile devices 170A-170C and/or biometricsensors 172A-172C, and may then request the preferences and toleranceranges from server 115. In still another example, device controller 190may track “regular” users who may often be present at/in the homenetwork 160 and may sync users profiles (e.g., preferences and toleranceranges of the users 171A-171C with respect to various “states”) withserver 115.

In one example, device controller 190 may then select at least onesetting for the at least one network-connected device in accordance withthe preferences and tolerance ranges of the at least two users. Forexample, device controller 190 may apply at least one weighting of thepreferences and tolerance ranges of the at least two users to determinethe at least one setting, and apply the at least one setting to the atleast one network-connected device. The weighting may, for example, givegreater weight to preference(s) and/or tolerance range(s) of user(s) whohave narrower tolerance ranges (those who are more picky), and lesserweight to the preference(s) and/or tolerance range(s) of users who mayhave wider tolerance ranges (those who are less picky). In one example,the weightings may also be in accordance with users' respectiverelationships or statuses. For instance, greater weighting may be givento the preference(s) and/or tolerance range(s) of user 171A, who may bea parent, compared to the preference(s) and/or tolerance range(s) ofuser 171B, who may be a child. In another example, greater weightingsmay be given to a premises owner and/or owner of a network-connecteddevice compared to a guest. Conversely, a premises owner/host mayconfigure device controller 190 to give greater weight to guests'preferences (and tolerance ranges).

The device controller 190 may further detect a change of the at leastone setting. For instance, one of the users 171A-171C may beuncomfortable with a current setting of one of the network-connecteddevices and may manually change the setting, such as raising or loweringthe temperature via the thermostat 168, raising or lowering (or turningon or off) the lights via lighting system 167, adjusting the volume ofone of TVs 163A or 163B, and so on. In response to detecting the changeof the setting, the device controller 190 may adjust at least one of thepreferences and tolerance ranges of the at least two users in responseto the change of the setting. For instance, the action may be consideredindicative that the user making the change is uncomfortable with thesetting, and therefore that the setting is not within the tolerancerange of the user. In addition, the new setting selected by the user mayalso be considered indicative of the user's preference and/or tolerancerange. For instance, the setting selected by the user may indicate theuser's preferred setting for the network-connected device with respectto other parameters of the current “state.” However, the settingselected may not actually be the user's preference, but may be acompromise with one or more of the other users 171A-171C. As such, inone example, the new setting may be considered to be within thetolerance range of the user making the change, but not necessarily theuser's actual preference for the setting. In addition, the new settingmay also be considered to be within the tolerance ranges of any of theother users present in the group. As such, the tolerance ranges of therespective users 171A-171C who are present may all be adjustedaccording.

As mentioned above, the present disclosure may also include the learningand maintenance of group preferences and tolerance ranges (e.g., groupprofiles). For instance, in the present example, device controller 190may initially establish a group profile including device settings of oneor more network-connected devices of home network 160 selected basedupon an average, or a weighted average of the preferences and/ortolerance ranges of the users 171A-171C present in the group. Thisinitial establishment of the group profile may occur the first time thisparticular group of users is detected to be co-located.

In one example, the device controller 190 may determine that any two ormore of users 171A-171C are co-located based upon Global PositioningSystem (GPS) location information which may be gathered by GPS unitswithin mobile devices 170A-170C and reported to device controller 190via one or more networks. In one example, the device controller 190 maydetermine that any two or more of users 171A-171C are co-located basedupon a local network discovery function whereby device controller 190may determine that any two or more of mobile devices 170A-170C areconnected to home network 160. In still another example, devicecontroller 190 may determine the locations of users 171A-171C based uponserving base station information, e.g., depending upon whether mobiledevices 170A-170C are respectively assigned to base station 152 or basestation 153, and so forth. In one example, location information forvarious mobile devices 171A-171C may be gathered by one of applicationsevers 114 in telecommunication network 110 and forwarded to devicecontroller 190.

Thereafter, the group profile may be updated as the users' behavior isobserved over time with respect to different device settings fordifferent “states.” For example, user 171C may be a guest of users 171Aand 171B. The user 171C may typically keep his or her own home at atemperature of 75 degrees. For instance, the user 171C may prefer towear shorts and a short-sleeve shirt at home, even in the winter.However, as a guest of others and in the wintertime, user 171C mayalways or typically wear a sweater or other warm clothes. Thus, relyingupon the individual profile of user 171C to initially create the groupprofile, the device controller 190 may skew the group preference and/ortolerance range towards a higher temperature. For instance, the devicecontroller 190 may initially select a temperature of 72 degrees as agroup preference, and may set the thermostat to 72 degrees. However, inactuality, this may be too high for user 171C who may be wearing warmerclothing than at his or her own home. In addition, user 171A or user171B may manually lower the temperature to 68 degrees to accommodate thegroup. For instance, the hosts may ask the guest 171C if he or she iscomfortable, and the answer may be that it is too hot. As such, one ofthe hosts (user 171A or user 171B) may manually lower the temperature,and 68 degrees may be noted as the group preference for a temperaturesetting.

In addition to adjusting preferences and tolerance ranges in response tousers manually adjusting various device settings, in one example, devicecontroller 190 may also detect users' moods through biometricinformation and adjust the preferences and tolerance ranges ofindividual users and/or the group preferences and tolerance ranges inresponse to the moods that are detected. For instance, the devicecontroller 190 may gather biometric data from mobile devices 170A-170Cand/or biometric sensors 172A-172C via home network 160, wireless accessnetwork 150, Internet 120, telecommunication network 110, etc. In oneexample, the device controller 190 may also gather biometric data fromdevices/appliances within the home network 160. For instance, PC 166, TV162A, and/or TV 162B may include a camera which may capture video and/orimages of users' faces, gestures, etc. PC 166, TV 162A, and/or TV 162Bmay further include a microphone which may capture audio of users'voices, including tone, pitch, specific words and phrases that arespoken, and so forth.

In one example, the device controller 190 may gather biometric data foreach of the users 170A-170C, and may quantify a respective mood for eachof the users 170A-170C based upon the biometric data. In one example,moods may include positive moods/mental states such as, happy, excited,relaxed, content, calm, cheerful, optimistic, pleased, blissful, amused,refreshed, or satisfied; negative moods such as sad, angry, upset,devastated, mad, hurt, sulking, depressed, annoyed, or enraged; andneutral moods such as indifferent, bored, sleepy, and so on. These moodsare only examples and are not to be interpreted as limitations of thepresent disclosure. In one example, different moods may have differentsignatures or profiles to which biometric data that is gathered fromvarious biometric sensors, e.g., biometric sensors 172A-172C, or towhich data derived from the biometric data may be compared in order todetermine a most likely current mood for each of the respective users171A-171C. The signatures may be based upon various types of biometricdata, e.g., depending upon the types of the biometric sensors 172A-172Cthat are in use and the types of biometric data that the biometricsensors 172A-172C collect, depending upon the types of additionaldevices that collect biometric data, e.g., PC 166, etc., the nature ofthe biometric data that such devices gather, and so forth.

For example, if the biometric data for user 171A includes facial imagedata gathered from mobile device 170A, the device controller 190 maycalculate the mental state of user 171A, at least in part, using patternmatching, e.g., to eigenfaces of user 171A based upon a training dataset, or composite eigenfaces representative of various mentalstates/moods over a training data set from faces of various users andfor different mental states/moods. In another example, device controller190 may calculate a mood of user 171C from audio data gather viabiometric sensor 172C, mobile device 170C, and/or other devices insystem 100. For instance, the audio data may be compared to varioussignatures or profiles for different moods, and a best matching mood maybe calculated as the current mood for the user 171C. In one example, thecalculating may include comparing the words and/or phrases recorded tovarious profiles or signatures for different moods, e.g., where theprofiles/signatures may comprise dictionaries or word lists that includewords and/or phrases that are representative of the respective moods.

In still another example, biometric data gathered by device controller190 from biometric sensor 172C for user 171C may include heart rateand/or breathing data. Thus, in one example, the mood of the user 171Cmay be determined based, at least in part, upon the heart rate orbreathing rate data. For instance, an elevated heart rate or breathingrate, e.g., as compared to a baseline/resting rate for the user 171C,may be indicative of duress, fear, etc. It should be noted thatdifferent types of biometric data may be aggregated and matched tosignatures/patterns for different moods that are comprised of multipledata points that account for the different types of biometric data. Inone example, a user's mood/mental state may be broadly classified asbeing a positive mood or a negative mood by quantifying the mentalstate/mood within a two or three dimensional space, e.g., according toan evaluative space model, a circumplex model, a vector model, aPositive Activation-Negative Activation (PANA) model, a Profile of MoodStates (POMS), or the like.

In any case, the device controller 190 may quantify a user's mood asbeing “positive,” “negative,” or “neutral” or may grade the users moodon a numerical scale, e.g., 0 to 1, 0 to 100, −100 to +100, etc.).Device controller 190 may then determine that certain preferences and/ortolerance ranges for one or more users and/or for a group, should beadjusted in response to certain (quantified) moods (e.g., negativemoods, moods scored below a 30th percentile on a scale of moods, etc.).For instance, a user observed to change from a positive mood to anegative mood for a particular device setting and with respect to agiven “state” may have the user's tolerance range adjusted up or down(e.g., depending upon whether the current setting is above or below whatthe device controller 190 previously determined to be the user'spreference for the device setting). In one example, the devicecontroller 190 may observe users moods over many different devicesettings and “states” and may use a regression analysis to identifycorrelations between device settings (predictors/independent variable)and the users' moods (response/dependent variable) (e.g., over 6 monthsof historical data, a year of historical data, etc.), and adjustpreferences and tolerance ranges in response to mood data over suchlonger time periods. For instance, device settings associated withnegative moods may result in changes to preferences and/or toleranceranges of one or more users and/or a group, while device settingsassociated with positive moods may result in “strengthening” orincreased confidence of preferences and/or tolerance ranges. Forexample, the device controller 190 may then require more negativeexamples to be observed to result in a change to the preferences and/ortolerance ranges.

It should be further noted that in one example, user profiles (e.g.,preferences and tolerance ranges) and group profiles (e.g., preferencesand/or tolerance ranges) may also be stored in a hierarchical temporalmemory (HTM). In such case, preferences and tolerance ranges for newstates which have not previously been observed may still be inferredfrom the structure of the HTM. For instance, the “state” for a group ofusers 171A-171C meeting at a home of home network 160 for “game night”on a Saturday may be very similar to a “state” for the same group ofusers meeting at a different home for “game night” on a Saturday with asimilar set of appliances/network-connected devices. For instance, theonly input parameter which may change is the “location.” Thus, theoutput of the HTM may be very similar for this new state as compared toa previously observed state for the group of users 171A-171C. However,it is entirely possible that the preferences and/or tolerance ranges forthis particular group (e.g., for one or more device settings) at theother home may be entirely different. A device controller at thisdifferent home may detect this difference by observing the users'behaviors in response to the predicted setting(s), which may bestored/encoded in the HTM structure such that the next time thisparticular state is encountered, the HTM structure will remember thedifferent preference(s) and/or tolerance range(s) that is/are specificto the “state,” and apply it to the network-connected device(s)accordingly. For instance, the device controller at the differentlocation may notify the server 115 of the different preference(s) and/ortolerance range(s), and the server 115 may update the HTM (e.g., one ormore user profiles, the group profile, or both) based upon the detectedchange(s).

In one example, homes/buildings have different inherent uncontrollablefactors like drafts, more or less shade, variances in sensors, accuracyof output of network-connected devices, and so forth. Thus, the conceptof a “state” may flexibly account for such differences. For instance, auser may prefer to set his or her home thermostat to 68 degrees.However, the heating/cooling system may be faulty or inaccurate and theactual temperature in the home may be 72 degrees when the thermostatsetting is at 68 degrees. When the user is in another location, such asin the user's office, a device controller responsible for that locationcould initially infer that the user prefers 68 degrees, but may learnover time that the user actually prefers a thermostat setting of 72degrees, and may have a tolerance range of 69-73 degrees, for example)by observing the user alone or in one or more groups regarding adifferent state (or states). For purposes of this example, it may beassumed that the thermostat at the office is accurate. However, it isnoted that this is not necessary since the matching of preferences andtolerance ranges to different states may result in the learning of theuser model/profile to include a preference for the work thermostat to be72 degrees (regardless of the actual corresponding temperature in thelocation). In other words, the user profile may store the same type ofparameter for each location as a separate variable. Since calibration ofcontrollers vary, and each zone/location may experience unpredictableinflux of external factors (e.g. drafts, open windows, etc.) the learnedsettings such as levels, temperature, and others, are not treated as auniversal value across all controlled zones/location but are indexed ona particular location only.

In addition, it should be understood that the system 100 may beimplemented in a different form than that which is illustrated in FIG.1, or may be expanded by including additional endpoint devices, accessnetworks, network elements, application servers, etc. without alteringthe scope of the present disclosure. For example, telecommunicationnetwork 110 is not limited to an IMS network, wireless access network150 is not limited to a UMTS/UTRAN configuration, and so forth.Similarly, the present disclosure is not limited to an IP/MPLS networkfor VoIP telephony services, or any particular type of broadcasttelevision network for providing television services. Various otherconfigurations in accordance with the present disclosure are thereforepossible. For instance, operations for applying a setting to anetwork-connected device in accordance with preferences and toleranceranges of at least two users may be implemented in PC 166 instead ofhaving a separate device controller 190, the home network 160 mayinclude additional network-connected (e.g., IoT) devices, such as astereo, a gaming system, wireless headphones, a humidistat, a fan, awindow, curtains or blinds, a fireplace (e.g., an electric fireplace),an automated scent generator, and so forth. In still another example,any functions described with respect to device controller 190 may beperformed by server 115 in telecommunication network 110. In such case,devices in home network 160 may be configured to accept instructionsfrom server 115, which resides outside home network 160. In one example,device controller 190 may receive instructions from server 115, and maydistribute such instructions to appropriate devices within the homenetwork 160. In such an example, the operator of telecommunicationnetwork 110 may therefore provide a service for controllingnetwork-connected devices in accordance with group preferences via theoperator infrastructure in conjunction with devices deployed at one ormore customer locations, such as home network 160. In this regard, itshould be noted that automated actions may also be implemented withrespect to devices deployed in various other networks. For instance,users 171A-171C may comprise a family with a vacation home having adifferent local area network from home network 160. In this case,automated actions may be implemented via both devices in home network160 and devices located at the vacation home, depending upon where theusers 171A-171C are presently located. In addition, aspects of thesystem 100 described above may equally apply to groups of other usershaving different relationships, such as guests in the home of homenetwork 160, and groups of users in other locations, such as otherhomes, offices, schools, or other public places, and so on. Thus, theseand other modifications are all contemplated within the scope of thepresent disclosure.

FIG. 2 illustrates a flowchart of an example method 200 for applying asetting to a network-connected device in accordance with preferences andtolerance ranges of at least two users. In one example, the method 200is performed by one or more components of the system 100 of FIG. 1, suchas by device controller 190 and/or server 115 in FIG. 1, and/or any oneor more components thereof (e.g., a processor, or processors, performingoperations stored in and loaded from a memory), or by device controller190 and/or server 115 in conjunction with one or more other devices,such as mobile devices 170A-170C, and home network devices such as homegateway 161, set-top boxes (STBs) 162A, and 162B, television (TV) 163Aand TV 163B, home phone 164, router 165, personal computer (PC) 166,lighting system 167, thermostat 168, coffee maker 169, and so forth. Inone example, the steps, functions, or operations of method 200 may beperformed by a computing device or system 300, and/or processor 302 asdescribed in connection with FIG. 3 below. For instance, the computingdevice or system 300 may represent any one or more components of devicecontroller 190, server 115, etc. in FIG. 1 that is/are configured toperform the steps, functions and/or operations of the method 200.Similarly, in one example, the steps, functions, or operations of method200 may be performed by a processing system comprising one or morecomputing devices collectively configured to perform various steps,functions, and/or operations of the method 200. For instance, multipleinstances of the computing device or processing system 300 maycollectively function as a processing system. For illustrative purposes,the method 200 is described in greater detail below in connection withan example performed by a processing system.

The method 200 begins at step 205 and proceeds to step 210.

In step 210, the processing system detects the presence of at least twousers in a zone containing a network-connected device. The presence ofthe users may be detected in various way such as IEEE 802.11 or 802.15broadcast messages, detection of RFID tags associated with the users,GPS location information of the users' mobile devices obtained by theprocessing system from a telecommunication network service provider, andso forth.

In optional step 215, the processing system may detect a current stateassociated with the at least two users. The state may comprise one ormore of: a location, a type of activity, a time of day, a day of a week,a month, or a season. A location may be a “zone,” or the zone could bepart of the location (e.g., a room in a house). The location may also bea type of location, e.g., a home, an office, a gym, a restaurant, etc.In one example, the state may further include a set of available devicesand/or a setting of at least a second network-connected device. Forexample, a setting of another network-connected device could be manuallyset by one of the users and be taken as a fixed parameter. For instance,if a user manually opens a window, this may impact the same and/or otherusers' preferences and/or tolerance ranges regarding a thermostatsetting, e.g., a heating and/or a cooling system setting.

In step 220, the processing system obtains preferences and toleranceranges of the at least two users with respect to the network-connecteddevice. In one example, the preferences and tolerance ranges of the atleast two users are stored in a hierarchical temporal memory (HTM). Inone example, the preferences and tolerance ranges of the at least twousers that are obtained are preferences and tolerance ranges regardingthe state that is detected at optional step 215. For instance, users mayhave entirely different preferences and tolerance ranges for how to seta network-connected device depending upon other parameters comprising a“state.” For example, during the winter, a user's preference andtolerance range for a thermostat setting may be entirely different fromthe same user's preference and tolerance range for the thermostat duringthe summer. Similarly, a user may have different preferences forlighting, heating/cooling, door locks, window shades, etc. for overnighthours versus daytime hours, and so forth.

In step 225, the processing system selects a setting for thenetwork-connected device in accordance with the preferences andtolerance ranges of the at least two users. In one example, theselecting comprises applying at least one weighting of the preferencesand tolerance ranges of the at least two users. For instance, thesetting for the network-connected device may be selected in accordancewith preferences and tolerance ranges of a group comprising the at leasttwo users, where the preferences and tolerance ranges of the group mayinitially be determined from an averaging of the preferences andtolerance ranges of the at least two users (e.g., a weighted average).Alternatively, or in addition, the preferences and tolerance ranges ofthe group may initially be determined from an application of one or moremachine learning models to the preferences and tolerance ranges of theat least two users. In one example, the “average,” or mean, could becentroid for multidimensional settings or for multiple settingssimultaneously. For instance, a user may prefer window open and airconditioner off, but if a window is closed, then the user may want theair conditioner on. Similarly, a user may prefer natural light, but ifwindow shades are closed, the user may prefers a lighting system to beturned on and have a light level close to natural light. In one example,the averaging comprises a weighted averaging which favors a preferenceand a tolerance range of a user with a narrower tolerance range over apreference and a tolerance range of a user with a broader tolerancerange.

In one example, the preferences and tolerance ranges of the group may bestored (encoded) in a hierarchical temporal memory (HTM). For instance,both the preferences and tolerance ranges of the at least two users andthe preferences and tolerance ranges of the group may be stored(encoded) in a same HTM. In one example, the group profile (e.g., thepreferences and tolerance ranges of the group) may be learned andrefined over time. In particular, the processing system may learn thegroup's preferences and tolerance ranges, which may be different thanthe average or weighted average of the individual preferences andtolerance ranges. In one example, the selecting the setting for thenetwork-connected device may also be in accordance with a designatedsafe range. For example, the processing system may be configured withprotections to not adjust a sauna to be dangerously hot, even if someusers have become accustomed to range that is unsafe for others. Thenetwork-connected device may comprise, for example, a thermostat, alighting system, a door, a window, or a window-shade, an air purifier, ahumidifier and/or humidistat, and so forth. In one example, thenetwork-connected device may comprise an entertainment system, such as aTV, a set top box, a DVR, a DVD player, a display screen, a desktopcomputer, a laptop computer, a loudspeaker, an audio mixer, a stereoreceiver, etc.

In step 230, the processing system applies the setting to thenetwork-connected device. For example, the setting selected at step 225and applied at step 230 may include a screen brightness setting, ascreen contrast setting, screen color settings, an aspect ratio, arefresh rate, a color temperature setting, a frame interpolationsetting, a volume setting, an audio mixer profile/setting, a defaultchannel, a default station, a temperature setting, a humidity setting, alighting level setting, a setting for a door, window, window shade, andso forth. The setting may also comprise an on/off setting. For example,it may be learned over time that a particular group of users and/or aparticular activity may typically involve the entertainment system beingon (movie night), or off (board game night). Thus, the television may beautomatically turned off for board game night. Similarly, an audiosystem may be tuned to a channel/station, or a playlist or a type ofmusic may be activated. Alternatively, or in addition, the volume may beset for the group of users in accordance with the average(s)/weightedaverage(s) and/or the group's learned preference(s) and tolerance rangesfor volume, type of music, etc. The lighting level in a room may besimilarly controlled (e.g., dimmed or turned off for movie night, inaccordance with the preferences and tolerance ranges of the users in thegroup and/or the learned group preferences and/or tolerance ranges, orturned up to the appropriate level for game night in accordance with theaverage of the users' preferences and tolerance ranges and/or inaccordance with learned group preferences and/or tolerance ranges). Itshould also be noted that steps 220-230 may include simultaneouslyconfiguring multiple devices settings (e.g., diming lights and adjustingtemperature for movie watching).

In optional step 235, the processing system may apply a plurality ofchanges to the setting. For example, the processing system may startwith an average/weighted average, but can then test and probe the groupby adjusting the setting to find the group limit(s) (e.g., in accordancewith the following step 240 and/or optional steps 255 and 260).

In step 240, the processing system detects a change of the setting. Thechange in the setting may be detected by the network-connected devicereporting to the processing system that a manual adjustment of thesetting has occurred. For instance, a “smart” window may transmit anotification to the processing system that it has been open or shut, athermostat may transmit a notification that a temperature setting hasbeen adjusted up or down (and/or the particular temperature/setting thathas been selected) or that the heating/cooling system has been turned onor off, and so on.

In step 245, the processing system adjusts at least one of thepreferences and tolerance ranges of the at least two users in responseto the change of the setting. For example, the change in the setting mayindicate that the setting applied at step 230 (and/or any of thesettings applied at step 255) is not a preference and is not in atolerance range of the user making the change. The change in the settingmay also indicate a tolerance range of the user(s) not directly makingthe change of the setting. For instance, if a user has no objection tothe change, the new device setting may be within the user(s) respectivetolerance range(s).

In optional step 250, the processing system may adjust the preferencesand tolerance ranges of the group (e.g., the preference and/or thetolerance range associated with the network-connected device) inresponse to the change of the setting. For instance, the change in thesetting can result in reinforcement learning regarding the profiles ofone or more of the at least two users as well as the group profile.

In optional step 255, the processing system may detect a mood of atleast one of the at least two users. Notably, users manually adjustingsettings, or not objecting to changes in settings, may be indicative ofusers' (and groups') preferences and tolerance ranges. However,biometric (e.g., mood) reactions may also indicate whether a useraccepts one or more current network-connected device settings or isuncomfortable with such settings. For example, a user's mood may bedetected from one or more types of biometric data, e.g., heart ratedata, facial imagery data, etc., from one or more sources, such as awearable device, one or more cameras of the user(s) mobile device(s),and so forth. For instance, a user's mood/mental state may be broadlyclassified as being a positive mental state or a negative mental stateby quantifying the mental state/mood within a two or three dimensionalspace, e.g., according to an evaluative space model, a circumplex model,a vector model, a PANA model, a POMS model, or the like. Alternatively,or in addition, the processing system may quantify a user's mood asbeing “positive,” “negative,” or “neutral” or may grade the users moodon a numerical scale, e.g., 0 to 1, 0 to 100, −100 to +100, etc.).

In optional step 260, the processing system may adjust at least one ofthe preferences and tolerance ranges of the at least two users inresponse to the mood. For example, the processing system may determinethat certain preferences and/or tolerance ranges for one or more usersand/or for the group, should be adjusted in response to certain(quantified) moods (e.g., negative moods, moods scored below a 30^(th)percentile on a scale of moods, etc.). For instance, a user observed tochange from a positive mood to a negative mood for a particular devicesetting and with respect to a given “state” may have the user'stolerance range adjusted up or down (e.g., depending upon whether thecurrent setting is above or below what the processing determines to bethe user's preference for the device setting). In one example, theprocessing system may observe users' moods over many different devicesettings and “states” and may use a regression analysis to identifycorrelations between device setting(s) and the users' moods, and theadjust preferences and tolerance ranges in response to mood data oversuch longer time periods. In other words, the adjustment of step 260 maycomprise the culmination of a plurality of observations which eventuallyresults in the action of adjusting the at least one of the preferencesand tolerance ranges of the at least two users (and/or of the group).

Following step 245 or any one of optional steps 250-260 the method 200proceeds to step 295 where the method 200 ends.

It should be noted that the method 200 may be expanded to includeadditional steps, or may be modified to replace steps with differentsteps, to combine steps, to omit steps, to perform steps in a differentorder, and so forth. For instance, in one example the processing systemmay repeat one or more steps of the method 200, such as steps 210-245,steps 210-250, steps 240-245, and so forth. For instance, the method 200may continue to be performed, in whole or in part, on an ongoing basis.In one example, the change in the setting detected at step 240 may alsoresult in changes to settings of other devices. For instance, if thesystem wrongly infers the activity or the group does something atypical(e.g., turning off the television when it was inferred that it was movienight), this may cause the processing system to change other settingsfor lights, temperature, etc. For example, this may be considered a new“state” which results in the processing system returning to step 215 toobtain group-optimized settings for the various devices with respect tothe new “state.” However, in this scenario, the manually adjustedsetting of the first device may be accepted as a fixed variable thatcannot be further adjusted.

In another example, a state may include user 1 being at home beforeusers 2 and 3 arrive as guests. The processing system may optimizenetwork-connected device settings for the group when the guests arrive.However, certain device settings that were manually set may be honored.For instance, if user 1 adjusted the temperature within the last 5minutes, last 10 minutes, etc., the processing system may treat thisdevice setting as fixed. Similarly, if user 1 has a television on beforeusers 2 and 3 arrive for game night, the processing system may leave thetelevision on, even if it is anticipated that the type of “activity” isgame night and that the television will probably be turned off. Devicesettings that were automatically set in accordance with user 1'sindividual preferences and tolerance ranges may be more flexibly changedto better account for the inferred group preferences. Similarly, theprocessing system may not specifically change a television channel if itis already on. But if the television is off, the processing system mayturn it on and tune to a channel in accordance with the groups'preferences.

In still another example, the adjusting the preferences and toleranceranges of step 245 may be based upon a plurality of observations over aperiod of time. For instance, a user may be present when another userchanges the setting. The new setting could be within the tolerance rangeof the non-adjusting user when he or she is in such a group, but may notbe within an individual tolerance ranges if the user were alone. In oneexample, the processing system may apply a regression analysis over datacollected over a period of time to detect correlations between thisparticular device setting and/or range of settings and the reactions ofthe user to differentiate between tolerance ranges when in a group andwhen alone, for instance. Thus, these and other modifications are allcontemplated within the scope of the present disclosure.

In addition, although not expressly specified above, one or more stepsof the method 200 may include a storing, displaying and/or outputtingstep as required for a particular application. In other words, any data,records, fields, and/or intermediate results discussed in the method canbe stored, displayed and/or outputted to another device as required fora particular application. Furthermore, operations, steps, or blocks inFIG. 2 that recite a determining operation or involve a decision do notnecessarily require that both branches of the determining operation bepracticed. In other words, one of the branches of the determiningoperation can be deemed as an optional step. However, the use of theterm “optional step” is intended to only reflect different variations ofa particular illustrative embodiment and is not intended to indicatethat steps not labelled as optional steps to be deemed to be essentialsteps. Furthermore, operations, steps or blocks of the above describedmethod(s) can be combined, separated, and/or performed in a differentorder from that described above, without departing from the exampleembodiments of the present disclosure.

FIG. 3 depicts a high-level block diagram of a computing device orprocessing system specifically programmed to perform the functionsdescribed herein. For example, any one or more components or devicesillustrated in FIG. 1 or described in connection with the method 200 maybe implemented as the processing system 300. As depicted in FIG. 3, theprocessing system 300 comprises one or more hardware processor elements302 (e.g., a microprocessor, a central processing unit (CPU) and thelike), a memory 304, (e.g., random access memory (RAM), read only memory(ROM), a disk drive, an optical drive, a magnetic drive, and/or aUniversal Serial Bus (USB) drive), a module 305 for applying a settingto a network-connected device in accordance with preferences andtolerance ranges of at least two users, and various input/output devices306, e.g., a camera, a video camera, storage devices, including but notlimited to, a tape drive, a floppy drive, a hard disk drive or a compactdisk drive, a receiver, a transmitter, a speaker, a display, a speechsynthesizer, an output port, and a user input device (such as akeyboard, a keypad, a mouse, and the like).

Although only one processor element is shown, it should be noted thatthe computing device may employ a plurality of processor elements.Furthermore, although only one computing device is shown in the Figure,if the method(s) as discussed above is implemented in a distributed orparallel manner for a particular illustrative example, i.e., the stepsof the above method(s) or the entire method(s) are implemented acrossmultiple or parallel computing devices, e.g., a processing system, thenthe computing device of this Figure is intended to represent each ofthose multiple computers. Furthermore, one or more hardware processorscan be utilized in supporting a virtualized or shared computingenvironment. The virtualized computing environment may support one ormore virtual machines representing computers, servers, or othercomputing devices. In such virtualized virtual machines, hardwarecomponents such as hardware processors and computer-readable storagedevices may be virtualized or logically represented. The hardwareprocessor 302 can also be configured or programmed to cause otherdevices to perform one or more operations as discussed above. In otherwords, the hardware processor 302 may serve the function of a centralcontroller directing other devices to perform the one or more operationsas discussed above.

It should be noted that the present disclosure can be implemented insoftware and/or in a combination of software and hardware, e.g., usingapplication specific integrated circuits (ASIC), a programmable logicarray (PLA), including a field-programmable gate array (FPGA), or astate machine deployed on a hardware device, a computing device, or anyother hardware equivalents, e.g., computer readable instructionspertaining to the method(s) discussed above can be used to configure ahardware processor to perform the steps, functions and/or operations ofthe above disclosed method(s). In one example, instructions and data forthe present module or process 305 for applying a setting to anetwork-connected device in accordance with preferences and toleranceranges of at least two users (e.g., a software program comprisingcomputer-executable instructions) can be loaded into memory 304 andexecuted by hardware processor element 302 to implement the steps,functions or operations as discussed above in connection with theexample method 300. Furthermore, when a hardware processor executesinstructions to perform “operations,” this could include the hardwareprocessor performing the operations directly and/or facilitating,directing, or cooperating with another hardware device or component(e.g., a co-processor and the like) to perform the operations.

The processor executing the computer readable or software instructionsrelating to the above described method(s) can be perceived as aprogrammed processor or a specialized processor. As such, the presentmodule 305 for applying a setting to a network-connected device inaccordance with preferences and tolerance ranges of at least two users(including associated data structures) of the present disclosure can bestored on a tangible or physical (broadly non-transitory)computer-readable storage device or medium, e.g., volatile memory,non-volatile memory, ROM memory, RAM memory, magnetic or optical drive,device or diskette and the like. Furthermore, a “tangible”computer-readable storage device or medium comprises a physical device,a hardware device, or a device that is discernible by the touch. Morespecifically, the computer-readable storage device may comprise anyphysical devices that provide the ability to store information such asdata and/or instructions to be accessed by a processor or a computingdevice such as a computer or an application server.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of a preferred embodiment shouldnot be limited by any of the above-described example embodiments, butshould be defined only in accordance with the following claims and theirequivalents.

1. A method comprising: detecting, by a processor, a presence of atleast two users in a zone containing a network-connected device;obtaining, by the processor, preferences and tolerance ranges of the atleast two users with respect to the network-connected device; selecting,by the processor, a setting for the network-connected device inaccordance with the preferences and tolerance ranges of the at least twousers and further in accordance with a designated safe range, whereinthe designated safe range indicates permissible settings for thenetwork-connected device that are determined to be safe for at least afirst user of the at least two users, wherein a preference of at least asecond user of the at least two users is outside of the designated saferange, and wherein the selecting includes selecting the setting for thenetwork-connected device from within the designated safe range;applying, by the processor, the setting to the network-connected device;detecting, by the processor, a change of the setting; and adjusting, bythe processor, at least one of the preferences and tolerance ranges ofthe at least two users in response to the change of the setting.
 2. Themethod of claim 1, wherein the preferences and tolerance ranges of theat least two users are stored in a hierarchical temporal memory.
 3. Themethod of claim 1, wherein the setting for the network-connected deviceis selected in accordance with preferences and tolerance ranges of agroup comprising the at least two users, wherein the preferences andtolerance ranges of the group are determined from an averaging of thepreferences and tolerance ranges of the at least two users or from anapplication of one or more machine learning models to the preferencesand tolerance ranges of the at least two users.
 4. The method of claim3, wherein the averaging comprises a weighted averaging which favors apreference and a tolerance range of a user of the group with a narrowertolerance range over a preference and a tolerance range of a user of thegroup with a broader tolerance range.
 5. The method of claim 3, furthercomprising: adjusting the preferences and tolerance ranges of the groupin response to the change of the setting.
 6. The method of claim 3,wherein the preferences and tolerance ranges of the group are stored ina hierarchical temporal memory.
 7. The method of claim 1, furthercomprising: detecting a current state associated with the at least twousers, wherein the preferences and tolerance ranges of the at least twousers that are obtained are preferences and tolerance ranges regardingthe current state that is detected.
 8. The method of claim 7 wherein thecurrent state comprises one or more of: a location; a type of activity;a time of day; a day of a week; a month; or a season.
 9. The method ofclaim 8, wherein the current state further comprises: a setting of atleast a second network-connected device.
 10. (canceled)
 11. The methodof claim 1, further comprising: detecting a mood of at least one of theat least two users; and adjusting at least one of the preferences andtolerance ranges of the at least two users in response to the mood. 12.The method of claim 11, wherein the mood is determined from biometricdata of at least one of the at least two users.
 13. The method of claim1, further comprising: applying a plurality of changes to the setting,prior to the detecting the change of the setting.
 14. The method ofclaim 1, wherein the network-connected device comprises: a thermostat;or a lighting system.
 15. The method of claim 1, wherein thenetwork-connected device comprises: a door; a window; or a window-shade.16. The method of claim 1, wherein the network-connected devicecomprises an entertainment system.
 17. The method of claim 16, whereinthe entertainment system comprises at least one of: a television; a settop box; a digital video recorder; a digital video disc player; a gamingsystem; a desktop computer; a laptop computer; a loudspeaker; a stereoreceiver; or an audio mixer.
 18. The method of claim 16, wherein thesetting comprises: a screen brightness setting; a screen contrastsetting; screen color settings; an aspect ratio; a refresh rate; a colortemperature setting; a frame interpolation setting; a volume setting; oran audio mixer profile.
 19. A non-transitory computer-readable mediumstoring instructions which, when executed by a processing systemincluding at least one processor, cause the processing system to performoperations, the operations comprising: detecting a presence of at leasttwo users in a zone containing a network-connected device; obtainingpreferences and tolerance ranges of the at least two users with respectto the network-connected device; selecting a setting for thenetwork-connected device in accordance with the preferences andtolerance ranges of the at least two users and further in accordancewith a designated safe range, wherein the designated safe rangeindicates permissible settings for the network-connected device that aredetermined to be safe for at least a first user of the at least twousers, wherein a preference of at least a second user of the at leasttwo users is outside of the designated safe range, and wherein theselecting includes selecting the setting for the network-connecteddevice from within the designated safe range; applying the setting tothe network-connected device; detecting a change of the setting; andadjusting at least one of the preferences and tolerance ranges of the atleast two users in response to the change of the setting.
 20. A devicecomprising: a processing system including at least one processor; and anon-transitory computer-readable medium storing instructions which, whenexecuted by the processing system, cause the processing system toperform operations, the operations comprising: detecting a presence ofat least two users in a zone containing a network-connected device;obtaining preferences and tolerance ranges of the at least two userswith respect to the network-connected device; selecting a setting forthe network-connected device in accordance with the preferences andtolerance ranges of the at least two users and further in accordancewith a designated safe range, wherein the designated safe rangeindicates permissible settings for the network-connected device that aredetermined to be safe for at least a first user of the at least twousers, wherein a preference of at least a second user of the at leasttwo users is outside of the designated safe range, and wherein theselecting includes selecting the setting for the network-connecteddevice from within the designated safe range; applying the setting tothe network-connected device; detecting a change of the setting; andadjusting at least one of the preferences and tolerance ranges of the atleast two users in response to the change of the setting.
 21. (canceled)22. The non-transitory computer-readable medium of claim 19, wherein thepreferences and tolerance ranges of the at least two users are stored ina hierarchical temporal memory.